package com.jieshuibao.util;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class StringUtils extends org.apache.commons.lang.StringUtils{
	
	/** 
     * 手机号验证 
     *  
     * @param  str 
     * @return 验证通过返回true 
     */  
    public static boolean isMobile(String str) {   
        Pattern p = null;  
        Matcher m = null;  
        boolean b = false;   
        p = Pattern.compile("^[1][3,4,5,6,7,8,9][0-9]{9}$"); // 验证手机号  
        m = p.matcher(str);  
        b = m.matches();   
        return b;  
    }
    /**
     * 验证邮箱
     * @param email
     * @return
     */
    public static boolean checkEmail(String email){
        boolean flag = false;
        try{
                String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
                Pattern regex = Pattern.compile(check);
                Matcher matcher = regex.matcher(email);
                flag = matcher.matches();
            }catch(Exception e){
                flag = false;
            }
        return flag;
    }
    /**
     * 验证纳税人识别号
     * ①验证纳税人识别码：6位行政区划码（纯数字）+ 9位组织机构代码（数字或大写字母）

     * ②统一社会信用代码（18位）：第1位（登记管理部门代码，数字或字母）、第2位（机构类别代码，数字或字母）

     * 第3—8位（登记管理机关行政区划码，数字）、第9—17位（主体标识码，数字或字母）

     * 第18位（校验码，数字或字母）
     * @param str
     * @return
     */
    public static boolean isTaxNum(String str) {   
        Pattern p = null;  
        Matcher m = null;  
        boolean b = false;   
        p = Pattern.compile("^((\\d{6}[0-9A-Z]{9})|([0-9A-Za-z]{2}\\d{6}[0-9A-Za-z]{10}))$"); // 验证手机号  
        m = p.matcher(str);  
        b = m.matches();   
        return b;  
    }


}
